public class code3 {
    public TreeNode invertTree(TreeNode root) {
        // 要实现整个树的反转，就需要深入到每一边最底层的子节点中进行反转操作
        // 所以可以通过深度优先搜索现将底层的节点进行交换
        // 之后通过递归的形式将上面的节点再进行交换
        if(root == null) {
            return null;
        }
        // 定义两个节点分别记录左右两个子树
        TreeNode left = invertTree(root.left);
        TreeNode right = invertTree(root.right);
        // 针对节点进行交换操作
        root.left = right;
        root.right = left;
        // 根
        return root;
    }
}
